var googleMap = {
    show: function () {
        console.log('开始渲染谷歌地图');
    }
};

var baiduMap = {
    show: function () {
        console.log('开始渲染百度地图');
    }
};

var renderMap = function (type) {
    if (type === 'google') {
        googleMap.show();
    } else if (type === 'baidu') {
        baiduMap.show();
    }
};

renderMap('google');  // 开始渲染谷歌地图
renderMap('baidu');   // 开始渲染百度地图

// 可以看到，虽然 renderMap 函数目前保持了一定的弹性，但这种弹性是很脆弱的，一旦需要替换成搜搜地图，那无疑必须得改动 renderMap 函数，继续往里面堆砌条件分支语句。

var renderMap = function (map) {
    if (map.show instanceof Function) {
        map.show();
    }
};
renderMap( googleMap );  // 开始渲染谷歌地图
renderMap( baiduMap );   // 开始渲染百度地图

